# Template file for 'polkit'
pkgname=polkit
version=126
revision=6
build_style=meson
build_helper=gir
configure_args="$(vopt_bool gir introspection) -Dman=true
 -Dsession_tracking="ConsoleKit" -Dsystemdsystemunitdir=""
 -Dpam_prefix=/etc/pam.d"
make_dirs="
 /etc/polkit-1/rules.d 0700 polkitd polkitd
 /usr/share/polkit-1/rules.d 0700 polkitd polkitd"
hostmakedepends="pkgconf gettext glib-devel perl
 libxslt docbook-xsl"
makedepends="libglib-devel duktape-devel pam-devel"
checkdepends="python3-dbus python3-dbusmock"
short_desc="Authorization Toolkit"
maintainer="MarcoAPC <marcoaureliopc@gmail.com>"
license="GPL-2.0-or-later"
homepage="https://github.com/polkit-org/polkit"
changelog="https://raw.githubusercontent.com/polkit-org/polkit/main/NEWS.md"
distfiles="https://github.com/polkit-org/polkit/archive/${version}.tar.gz"
checksum=2814a7281989f6baa9e57bd33bbc5e148827e2721ccef22aaf28ab2b376068e8
system_accounts="polkitd"
#replaces="polkit-elogind>=0"
#provides="polkit-elogind-${version}_${revision}"

# Package build options
build_options="gir"
build_options_default="gir"

if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
	# see https://gitlab.freedesktop.org/polkit/polkit/-/issues/134
	make_check=no
fi

if [ "$XBPS_CHECK_PKGS" ]; then
	configure_args+=" -Dtests=true"
fi

post_install() {
	vinstall ${FILESDIR}/polkit-1.pam 644 etc/pam.d polkit-1
	vinstall ${FILESDIR}/10-udisks2.rules 644 etc/polkit-1/rules.d
	vinstall ${FILESDIR}/20-shutdown-reboot.rules 644 etc/polkit-1/rules.d
	vsv polkitd
	# the build doesn't set setuid bits when not installing as root
	chmod u+s ${DESTDIR}/usr/bin/pkexec
	chmod u+s ${DESTDIR}/usr/lib/polkit-1/polkit-agent-helper-1
}

polkit-devel_package() {
	depends="libglib-devel ${sourcepkg}>=${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/pkgconfig
		if [ "$build_option_gir" ]; then
			vmove "usr/share/gir-*"
		fi
		vmove "usr/lib/*.so"
	}
}

polkit-elogind_package() {
	depends="polkit>=${version}_${revision}"
	build_style=meta
	short_desc+=" (transitional dummy package)"
}
